<template>
    <div class="main">
        <upHome class="upHomes"></upHome>
        <leftHome
            :class="{ 'leftHomes': !this.$store.state.homex.openJudge, 'leftHomesTwo': this.$store.state.homex.openJudge }">
        </leftHome>
        <rightHome
            :class="{ 'rightHome': !this.$store.state.homex.openJudge, 'rightHomeTwo': this.$store.state.homex.openJudge }">
        </rightHome>
    </div>
</template>
  
<script>
import RoleMenuApi from '@/api/menuRequest'
import axios from 'axios'
import upHome from '@/views/homeComponet/upHome.vue'
import leftHome from '@/views/homeComponet/leftHome.vue'
import rightHome from '@/views/homeComponet/rightHome.vue'
export default {
    // 组件名称
    name: 'home',
    // 组件参数 接收来自父组件的数据
    props: {},
    // 局部注册的组件
    components: {
        upHome,
        leftHome,
        rightHome
    },
    // 组件状态值
    data() {
        return {
        }
    },
    // 计算属性
    computed: {},
    // 侦听器
    watch: {
        //监听路由变化
        $route(to, from) {
            this.$store.commit("operation/flushButtonList");
            let obj = {
                roleId:JSON.parse(sessionStorage.getItem("roleId")),
                menuId:to.meta.id
            }
            RoleMenuApi.selectRoleAuthorityButton(obj).then(res => {
                // console.log(res.data);
                this.$store.commit("operation/insertButtonList", res.data);
            })
        }
    },
    // 组件方法
    methods: {
        // routerJump(paths) {
        //     this.$router.push({
        //         path: `/${paths}`,
        //     });
        // },
    },
    // 以下是生命周期钩子   注：没用到的钩子请自行删除
    /**
    * 在实例初始化之后，组件属性计算之前，如data属性等
    */
    beforeCreate() {
    },
    /**
    * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
    */
    created() {
        // axios({
        //     method: "get",
        //     url: `${process.env.VUE_APP_BASE_URL}AuthorityURL/selectRoleAuthority/1`,
        // }).then(res => {
        //     sessionStorage.setItem("authority", JSON.stringify(res.data.data));
        // })
    },
    /**
    * 在挂载开始之前被调用：相关的 render 函数首次被调用。
    */
    beforeMount() {
    },
    /**
    * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
    * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
    */
    mounted() {
    },
    /**
    * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
    * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
    */
    beforeUpdate() {
    },
    /**
    * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
    * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
    */
    updated() {
    },
    /**
    * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
    */
    activated() {
    },
    /**
    * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
    */
    deactivated() {
    },
    /**
    * 实例销毁之前调用。在这一步，实例仍然完全可用。
    */
    beforeDestroy() {
    },
    /**
    * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
    * 所有的事件监听器会被移除，所有的子实例也会被销毁。
    */
    destroyed() {
    }
}
</script> 
  
  
<style scoped >
.main {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.main .upHomes {
    height: 6.6vh;
    width: 100%;
    background-color: #1f2d3d;
}

.main .leftHomes {
    height: 93vh;
    width: 15%;
    overflow-y: hidden;
    background-color: #1f2d3d;
}

.main .rightHome {
    height: 93vh;
    width: 84.9%;
    overflow: hidden;
}

.main .leftHomesTwo {
    height: 92vh;
    width: 4%;
    overflow-y: hidden;
    background-color: #1f2d3d;
}

.main .rightHomeTwo {
    height: 92vh;
    width: 94.9%;
}
</style>
  
  